home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / System / Directory source / error.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-09-28  |  721 b   |  39 lines  |  [TEXT/KAHL]

  1. /*    error.h
  2.  *
  3.  *    Error management.
  4.  */
  5.  
  6.  
  7. #include <setjmp.h>
  8.  
  9.  
  10. /*    Constants
  11.  */
  12.  
  13. #define    MAXJUMP                10                        /* Max level of return that can be done */
  14.  
  15.  
  16. /*    Error constants
  17.  */
  18.  
  19. #define    INITOUTMEM            1                        /* Out of memory on init */
  20. #define OUTWINDOWS            2                        /* No more windows to open */
  21. #define OUTMEM                3                        /* Out of memory */
  22.  
  23.  
  24.  
  25. /*    Globals
  26.  */
  27.  
  28. extern jmp_buf callStack[MAXJUMP];
  29. extern short callStackPtr;
  30.  
  31.  
  32. /*    Macros and functions
  33.  */
  34.  
  35. extern void Throw(int i);                            /* Call this with error message */
  36. extern void PostError(int i);                        /* Post error message */
  37. #define Catch()            ((callStackPtr < MAXJUMP) ? setjmp(callStack[callStackPtr++]) : 0)
  38. #define Uncatch()        ((callStackPtr > 0) ? --callStackPtr : 0)
  39.